#!/usr/bin/env python
# coding: utf-8
__author__ = 'lixx'
class Student():
    sum1=0  #一个班级里所有学生的总数
    name=''
    age=0
    def __init__(self,name,age):# 构造函数，这里 __init__是函数名，是固定的
        #print('student')
        self.name=name
        self.age=age
        #print(Student.sum1)#在实例变量内部调用类变量
        print(self.__class__.sum1) # __class__相当于类，是self内置的方法，访问类变量sum1
    def do_homework(self):
        print('homeworker')
#类:是现实世界或思维世界中:  行为与特征
#对象：表示一个具体的
# class Printer():
#        def print_file(self):
#         print('name:'+self.name)
#         print('age:'+self.age)
    @classmethod
    def print_sum1(cls):
        cls.sum1+=1
        print('当前学生总数为：'+str(cls.sum1))
    @staticmethod
    def add(x,y):
        print('x+y:'+(x+y))

student1 =Student('拉拉风',12)
#student2=Student()
#student3=Student()
#print(id(student1))#打印在内存中的地址
#a =student1.__init__()  #不建议这样显示的调用，因为实例化时python自己会调用一次
#  构造函数__init__的调用时自动进行的，当实例化的时候python会自动调用该函数
#print(a)  #None ,相当于return None
#print(type(a))  #<class 'NoneType'>
Student.print_sum1()
print(student1.sum1)
student2 =Student('罗兰',24)
Student.print_sum1()
print(student2.sum1)
#print(Student.sum1)#在实例变量外部调用类变量